package com.duubee.btframe.mapper;

import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface BtMapper {

//    @Select("${sql}")
//    BtIPage<JSONObject>  queryByPaging(BtPage page, @Param("sql") String sql);

    /**
     * 查询当个
     *
     * @param sql sql
     * @return 对象
     */
    @Select("${sql}")
    JSONObject querySingle(@Param("sql") String sql);

    /**
     * 查询列表
     *
     * @param sql sql
     * @return 对象集合
     */
    @Select("${sql}")
    List<JSONObject> queryList(@Param("sql") String sql);

    /**
     * 统计查询
     *
     * @param sql sql
     * @return 数量
     */
    @Select("${sql}")
    long queryCount(@Param("sql") String sql);

    /**
     * 插入返回key
     *
     * @param sql sql
     * @return 对象
     */
    @Select("${sql};SELECT LAST_INSERT_ID();")
    Object insertReturnKey(@Param("sql") String sql);

    /**
     * 删除
     *
     * @param sql sql
     * @return 结果
     */
    @Delete("${sql}")
    boolean delete(@Param("sql") String sql);

    /**
     * 更新
     *
     * @param sql sql
     * @return 结果
     */
    @Update("${sql}")
    boolean update(@Param("sql") String sql);
}
